package models

import "time"

type UsersType int

// WkbUsers 用户表
type WkbUsers struct {
	Model
	UserIDDiy         string    `gorm:"column:user_id_diy;type:varchar(200)" json:"user_id_diy"`                 // 用户自定义id
	SysType           int       `gorm:"column:sys_type;type:tinyint(4);not null" json:"sys_type"`                // 默认0为本站添加,其它为外部添加
	Name              string    `gorm:"column:name;type:varchar(32)" json:"name"`                                // 用户名
	Mobile            string    `gorm:"column:mobile;type:varchar(11)" json:"mobile"`                            // 新加手机号
	//Email             string    `gorm:"unique;column:email;type:varchar(100)" json:"email"`                      // 用户邮箱
	EmailStatus       int       `gorm:"column:email_status;type:tinyint(4);not null" json:"email_status"`        // 用户邮箱认证状态0：未认证1：待验证2：已经认证
	Password          string    `gorm:"column:password;type:varchar(32)" json:"password"`                        // 用户密码
	AlternatePassword string    `gorm:"column:alternate_password;type:varchar(32)" json:"alternate_password"`    // 支付密码
	Salt              string    `gorm:"column:salt;type:varchar(10)" json:"salt"`                                // 随机码
	Status            int       `gorm:"column:status;type:tinyint(4)" json:"status"`                             // 账户状态 0：未激活 1：已激活 2：禁用
	UsersType         int       `gorm:"column:users_type;type:tinyint(4);not null" json:"users_type"`            // 用户类型:1雇主 2威客
	AuthType          string    `gorm:"column:auth_type;type:char(1);not null" json:"auth_type"`                 // 认证类型：1个人 2公司
	Profession        string    `gorm:"column:profession;type:varchar(120);not null" json:"profession"`          // 专业
	GoodAt            string    `gorm:"column:good_at;type:varchar(120);not null" json:"good_at"`                // 擅长
	Abstract          string    `gorm:"column:abstract;type:mediumtext;not null" json:"abstract"`                // 个人简介
	OverdueDate       time.Time `gorm:"column:overdue_date;type:timestamp" json:"overdue_date"`                  // 找回密码邮件过期时间
	ValidationCode    string    `gorm:"column:validation_code;type:varchar(10)" json:"validation_code"`          // 找回密码随机码
	ExpireDate        time.Time `gorm:"column:expire_date;type:timestamp" json:"expire_date"`                    // 重置密码邮件过期时间
	ResetPasswordCode string    `gorm:"column:reset_password_code;type:varchar(255)" json:"reset_password_code"` // 重置密码验证随机码
	RememberToken     string    `gorm:"column:remember_token;type:varchar(100)" json:"remember_token"`
	LastLoginTime     time.Time `gorm:"column:last_login_time;type:timestamp" json:"last_login_time"`         // 最后一次登录时间
	Source            int       `gorm:"column:source;type:tinyint(4);not null" json:"source"`                 // 注册来源 1-来自pc 2-来自手机
	IsEmployee        int       `gorm:"column:is_employee;type:tinyint(4);not null" json:"is_employee"`       // 0 普通用户（自由注册）， 1 员工， 2 老板 3 普通用户（通过分享注册）通过分享注册的用户状态为1
	ShareNum          string    `gorm:"column:share_num;type:varchar(20)" json:"share_num"`                   // //用户分享码
	ShareUId          int       `gorm:"column:share_uid;type:int(11);not null" json:"share_uid"`              // 邀请当前用户id
	IsShareMoney      int       `gorm:"column:is_share_money;type:tinyint(4);not null" json:"is_share_money"` // 是否已经给分享人打款
	ShareMoney        float64   `gorm:"column:share_money;type:decimal(8,2);not null" json:"share_money"`     // 分享获得的金额
	WechatOpenid      string    `gorm:"column:wechat_openid;type:varchar(200)" json:"wechat_openid"`          // 第三方登陆 微信授权openid
	UnionID           string    `gorm:"column:union_id;type:varchar(200)" json:"union_id"`                    // 开放平台与公众平台 UnionID
	IsSubscribe       int       `gorm:"column:is_subscribe;type:tinyint(4);not null" json:"is_subscribe"`     // 是否关注 1是 0否
	IsMovie           bool      `gorm:"column:is_movie;type:tinyint(1);not null" json:"is_movie"`             // 是否在直播1是,0否
	SugarGift         int       `gorm:"column:sugar_gift;type:tinyint(4);not null" json:"sugar_gift"`         // 是否发放礼品 1是 0否
	ImUserType        int       `gorm:"column:im_user_type;type:tinyint(4)" json:"im_user_type"`              // 用户类型:1=普通用户,2=客服
}

func (this *WkbUsers) TableName() string {
	return "wkb_users"
}
